1. Field of the Invention
The present invention relates to an apparatus using a microprocessor, and more particularly, to an apparatus and a method for upgrading a program that controls a microprocessor. The present application is based on Korean Application No. 2001-63950, filed Oct. 17, 2001, which is incorporated herein by reference.
2. Description of the Related Art
An existing digital television or a set-top box has a microprocessor and a built-in program that operates a system to meet the needs of a user. The program is stored in a non-volatile memory when the system is manufactured in a factory, and can be modified and upgraded by a service engineer after the system is released.
While analog broadcasting is replaced by digital broadcasting, the broadcasting specification may be changed. Additionally, there may be a problem with the program. Therefore, the program needs to be changed frequently.
As a result, easy upgrading of the program is more important than ever before.
FIG. 1 shows an existing method for upgrading a program.
With reference to FIG. 1, a system 100 is controlled by a microprocessor 102. A program that controls the microprocessor 102 is stored in a program memory 104. The program memory 104 is implemented as a non-volatile memory for upgrading the program, such as a flash Read Only Memory (ROM), an Electrically Erasable and Programmable Read-Only Memory (EEPROM) and a nonvolatile random access memory (NVRAM).
The NVRAM is a non-volatile RAM that can protect recorded data even though external power to a computer is turned off or lost. Some modems use the NVRAM as a memory that saves a telephone number designated by a user or a setup value of the modem.
In some cases, the program stored in the program memory 104 of the system 100 shown in FIG. 1 needs to be upgraded for improvement, to provide enhanced performance, or to eliminate a bug.
For upgrading, the system 100 shown in FIG. 1 includes an RS-232C 106 and an RS-232C connector 108 that can interface with an external computer 150. The RS-232C is a specification that describes a physical connection and a protocol that enable the computer and relevant devices to perform a serial data communication at a relatively low speed.
As the external computer 150, a portable notebook PC is used.
To upgrade the program, the service engineer connects the external computer 150 and the system 100, using the RS-232C cable, and downloads an upgrading program from the external computer 150. The downloaded program upgrades the program stored in the program memory 104.
In a boot area of the program memory 104, there is a boot loader that is a program which controls the program upgrading. The boot loader stores the downloaded program in an empty area of the RAM or the program memory 104, and upgrades the existing program using the downloaded program.
After the program upgrading is completed, the system is rebooted. The boot loader loads the upgraded program and the system is controlled by the upgraded program.
When upgrading the program of the system shown in FIG. 1, the service engineer should carry the notebook PC which saves the upgrading program and connect the external computer with the system 100, using the RS232C cable in order to upgrade the program.
Therefore, the existing program upgrading is disadvantageous in that it necessitates a complicated process and the external computer.